home *** CD-ROM | disk | FTP | other *** search
/ Gold Medal Software 3 / Gold Medal Software - Volume 3 (Gold Medal) (1994).iso / utils2 / wdatide.exe / lha / WDAT_IDE.TXT < prev    next >
Text File  |  1992-02-12  |  15KB  |  289 lines

  1. README - WDAT_IDE
  2.  
  3. This utility scans the media and remaps any grown defects on a Western
  4. Digital drive. It also provides performance data such as seek times and data
  5. access times.
  6.  
  7.  
  8. COMMAND LINE OPTIONS:
  9.  
  10. To run the menu-driven test, type 'WDAT_IDE' from the DOS prompt.
  11.  
  12. The following options may be included on the command line after 'WDAT_IDE':
  13.               L = open log file WDAT_IDE.LOG (only use this option when
  14.                   running the test from a floppy, since hard disk data
  15.                   corruption will occur!!!)
  16.               1 = run quick scan of first drive with no menu
  17.               2 = run quick scan of second drive with no menu 
  18.               S = skip pause at end of 'no menu' run
  19.               B = adjust bit map formats if necessary and quit
  20.               P = update P list instead of G list
  21.               G = skip update of grown defect list, but still relocate
  22.                      sectors and tracks
  23.               F = relocate addresses shown in file WDAT_IDE.DAT
  24.               D = operate on second drive if F option chosen
  25.  
  26. The 'L' option may be combined with either the '1' or '2' option. Either
  27. '1' or '2' may be specified, but not both.
  28.  
  29. The data file for the 'F' option should be an ASCII text file with a C, H and
  30. S specified for each address to be relocated. To relocate a track, specify
  31. the C and H and set the S to 255. All addresses must be specified in decimal.
  32. All addresses are for physical locations, and the sector address is the
  33. sector from index. The first sector is specified as 1, not 0. For example, to 
  34. relocate the 23rd sector from index at C10 H1 and the track at C20 H3, store 
  35. the following text in WDAT_IDE.DAT:
  36.  
  37.                     10, 1, 23
  38.                     20, 3, 255
  39.  
  40.  
  41. For a description of the command line options, type 'WDAT_IDE ?'.
  42.  
  43.  
  44. PROGRAM CHARACTERISTICS:
  45.  
  46.    - runs with WDI13
  47.    - retries disabled
  48.    - identifies drive models and number of drives
  49.    - if CMOS is set for no drives, sets CMOS to drive type 1 and issues 
  50.         cold boot 
  51.    - revectors INT41 and INT46 to new tables that contain physical drive
  52.         parameters
  53.    - menu driven
  54.    - preserves user data whenever possible (uncorrectable errors cannot be
  55.         recovered)
  56.  
  57.  
  58. MENU OPTION DESCRIPTIONS:
  59.  
  60.         MAIN MENU SELECTION: 
  61.  
  62.         0 - Quick Surface Scan       ... 2-3 minutes
  63.         1 - Comprehensive Analysis   ... 8-12 hours
  64.         2 - Performance Data         ... Access and Xfer
  65.         3 - Select Drive             ... 0 or 1
  66.         4 - Park Drives and Quit"
  67.                                
  68.  
  69.         MENU SELECTION "0 - Quick Surface Scan" description:
  70.  
  71.         1. Read verifies, sequentially, a track at a time. No writes are
  72.               issued.
  73.         2. Performs appropriate defect management if errors are detected:
  74.               See section below for details regarding defect management.
  75.         3. Saves and restores user data, if possible.
  76.  
  77.  
  78.         MENU SELECTION "1 - Comprehensive Analysis" description:
  79.  
  80.         1. Read verifies, sequentially, a track at a time.
  81.               This step executes the 'quick scan' described above.
  82.         2. Writes/Reads, sequentially, a track at a time.
  83.               In this step, each track is written with 11 data patterns, and
  84.               10 reads are issued after each write. So each track is read a
  85.               minimum of 110 times, more if errors occur. The data patterns 
  86.               are:
  87.                  pattern  0: 00
  88.                  pattern  1: 33
  89.                  pattern  2: 5ab6b5ab6b
  90.                  pattern  3: c086043021800c086043021800
  91.                  pattern  4: 136b31136bb3
  92.                  pattern  5: 0101
  93.                  pattern  6: 492492
  94.                  pattern  7: cf3cf3
  95.                  pattern  8: c6319c6319
  96.                  pattern  9: d6b5ad6b5a
  97.                  pattern 10: random data
  98.         3. Performs appropriate defect management:
  99.               See section below for details regarding defect management.
  100.         4. Saves and restores user data, if possible.
  101.  
  102.  
  103.         MENU SELECTION "2 - Performance Data" description:
  104.  
  105.         1. Track-track access time seek test (200 seeks)
  106.         2. Average access time seek test (1000 random seeks)
  107.         3. Full stroke access time seek test (200 seeks)
  108.         4. Data transfer test (average from 200 times)
  109.               This test sets the block size to the number of sectors per
  110.               logical cylinder, or to 64, whichever is less. 200 Read 
  111.               commands are issued at address C:0 H:0 S:1. If any error occurs
  112.               during any Read, then the error message "Data Error in Cyl 0" 
  113.               is displayed, and the test is aborted. The data rate in bytes 
  114.               per second is calculated by dividing A by B, where 
  115.               A = (200*Blocks per transfer*512) and B = the total time in 
  116.               seconds.
  117.  
  118.  
  119. DEFECT MANAGEMENT DETAILS:
  120.  
  121. If an error is detected while reading a track, the following steps occur:
  122.  
  123.    1) The track data is stored in memory. If the data cannot be read, then
  124.       a message will appear at the end of the test that not all of the data
  125.       was restored. For example, the data can not be read if a servo error or
  126.       ID Not Found error occurs. However, the data can be read if the most
  127.       common type of error, a correctable ECC error, occurs. Retries are
  128.       enabled for reading the data into memory to recover as many sectors
  129.       as possible.
  130.    2) If a Bad Block error is detected, then the sector is re-formatted as no
  131.          longer bad, and the test continues with step 3.
  132.    3) The sector in error is re-read 20 times with cache disabled. 
  133.          If any error occurs, the relocation alogorithm shown below is executed.
  134.          If no error occurs during any of the re-reads, the sector is not 
  135.          relocated.
  136.    4) Each sector on the track is read 20 times, including the original sector
  137.          in error. 
  138.    5) If an error occurs during any read, the relocation algorithm is
  139.          executed, and reverification of the track as shown here in step 4
  140.          is repeated.
  141.    6) Steps 4-5 are repeated until no errors are detected on the track.
  142.    7) The data that was stored in step 1 is rewritten to the track. 
  143.  
  144. Relocation Algorithm Details:
  145.  
  146.    If a servo error occurs, the track is relocated.
  147.    If an ID Not Found error occurs, the track is relocated.
  148.    If a physical track already has 2 relocated sectors, the track is
  149.       relocated.
  150.    If an ECC or DAM error occurs, the sector is relocated. Since retries are
  151.       disabled, correctable ECC errors are reported as uncorrectable and
  152.       are relocated.
  153.    If any other type of error occurs, an error message is displayed and the
  154.       test is terminated.
  155.  
  156.  
  157.    To relocate a track, updates must occur to the configuration sector, the
  158.    track bit map, and the grown defect list. The following steps are taken:
  159.  
  160.       1) The number of spares available is determined from the configuration
  161.             sector. If no spares are available, then an error message is
  162.             displayed and the program is terminated.
  163.       2) If spares are available, then an available spare address is
  164.             determined based on the spare track bit map.
  165.       3) The spare track list in the conguration sector is updated and 
  166.             written to the drive. If the track in error is a spare, then the
  167.             old spare is replaced with the new spare in the list. For example,
  168.             if track 0 was relocated to track 2000, and track 2000 later
  169.             appeared bad, then track 0 would be re-relocated to track 2001,
  170.             and the bit for track 2000 would remain cleared so it could not
  171.             be used in the future.
  172.       4) The used bit is cleared and the new bit map is written to the drive.
  173.       5) The new grown defect list is written to the drive.
  174.       
  175.  
  176.    To relocate a sector, updates must occur to the sector bit map and the
  177.    grown defect list. Also, the relocation address must be stored in the
  178.    defective sector after it has been marked bad. The following steps are 
  179.    taken:
  180.  
  181.       1) The spare sector bit map is checked for available spares. If no
  182.             spares are available, then an error message is displayed, and
  183.             the program is terminated.
  184.       2) If spares are available, then an available spare address is
  185.             determined based on the spare sector bit map. The search for a
  186.             spare begins at the cylinder with an error, and then proceeds to
  187.             check cylinders at +-1, then +-2, etc., until an unused spare is 
  188.             located. If the sector in error is a spare itself, then it is
  189.             relocated to a new spare, causing a 'chain' of relocations.
  190.       3) The sector in error is marked bad, then the 'Write Relocation ID'
  191.             command is issued so the sector contains the address of the spare.
  192.       4) The used bit is cleared and the new bit map is written to the drive.
  193.       5) The new grown defect list is written to the drive.
  194.  
  195.  
  196. REVISION HISTORY:
  197.  
  198.    rev 2.1      2/12/92         Fix bug - no longer hangs before main menu -
  199.                                    used to hang if FTS rev had a space before
  200.                                    the number.
  201.                                 Fix bug - When parsing .DAT file, now 
  202.                                    relocates address even when line does not 
  203.                                    end with a linefeed.
  204.                                 Added P option to update P list instead of G
  205.                                    list.
  206.                                 Because of lack of code space, rearranged seek 
  207.                                    tests so now tk-tk test is followed by 
  208.                                    full stroke test.
  209.  
  210.    rev 2.0      12/13/91        Supports AC2200.
  211.  
  212.    rev 1.9      9/24/91         Add option to immediately relocate bad blocks
  213.                                    instead of formatting and testing them 
  214.                                    first.
  215.                                 Relocate defects on cyl 0 and 1 during write
  216.                                    error process instead of giving error 
  217.                                    message.
  218.                                 Do not allow bad block errors during any
  219.                                    write command (previously ignored these
  220.                                    errors).
  221.                                 Fix bug so correct spare tracks get used
  222.                                    (introduced in previous rev).
  223.                                 User must hit a key before re-boot occurs.
  224.                                 Fix bug: If track address from input file
  225.                                    has already been relocated, modify existing
  226.                                    entry instead of adding new entry.
  227.                                 To work with ACER BIOS, which doesn't allow
  228.                                    retries to be disabled, test for corr.
  229.                                    ecc errors at drive level in addition to
  230.                                    testing BIOS error code.
  231.  
  232.    rev 1.8      9/10/91         Fix batch file so program gets executed if F
  233.                                    option is enabled.
  234.                                 Fix bug: When running 2 drives, zone 
  235.                                    information from second drive would be used
  236.                                    when operating on first drive. This caused
  237.                                    errors if drives were different models.
  238.  
  239.    rev 1.7      9/9/91          Relocates track if Write Fault bit is set
  240.                                    or if Seek Complete bit is not set
  241.                                    following Extract Interleave cmd.
  242.                                 Parks drives correctly (issues seek to cyl
  243.                                    07ffh instead of ff07h).
  244.   
  245.    rev 1.6      9/6/91          Has option to get relocation addresses from
  246.                                    file WDAT_IDE.DAT.
  247.                                 If bad block is detected, reformats sector
  248.                                    and then checks for any error.
  249.                                 Skips park command for Tidbit drives.
  250.                                 Relocates track if Write Fault bit is set
  251.                                     following Verify error.
  252.                                 Only issues REREAD PARMS cmd to Tidbit 
  253.                                     (piranha was getting an error)
  254.                                 When selecting drive, no longer looks for 
  255.                                     Seek Complete bit since want to relocate 
  256.                                     tracks with this error
  257.  
  258.    rev 1.5      8/5/91          Supports AB130 (Tidbit 30MB)
  259.                                 Supports option to skip update of grown
  260.                                    defect list
  261.  
  262.    rev 1.4      7/11/91         Parks drive with seek to cyl 2047 instead
  263.                                    of 1023, and issues seek command directly
  264.                                    instead of through BIOS
  265.                                 Doesn't show AB130 in list of drives supported
  266.                                 Relocates track if error occurs when
  267.                                    relocating sector
  268.                                 Supports command line option to update bit
  269.                                    map format and quit
  270.  
  271.    rev 1.3      6/24/91         Supports Tidbit and Caviar II
  272.                                 Lets user continue if unidentified drive is
  273.                                    present
  274.                                 Allows defects on cylinders 0 and 1
  275.                                 Swaps bits in bit maps if necessary
  276.  
  277.    rev 1.2      3/12/91         Supports piranha
  278.                                 Re-scans correct track after relocating a
  279.                                   sector (previous revision re-read wrong
  280.                                   cylinder, which sometimes caused drive 
  281.                                   to park)
  282.                                 Waits for keystroke at end of 'no menu' run
  283.                                   so user can see results
  284.  
  285.    rev 1.1      12/4/90         Doesn't open log file unless requested
  286.                                 Displays new menu order
  287.  
  288.    rev 1.0      11/14/90        Initial release
  289.